'''
自动取款机存取款系统
1.用户信息数据源
2.登录
3.查询余额
3.存钱功能
4.取钱功能
5.退出系统
6.界面和交互
'''
#用户数据源
import os
people_list = [
    {'name':'zhangsan','password':'123','money':100},
    {'name':'lisi','password':'123','money':200},
    {'name':'chenzhe','password':'123','money':300}]

#定义验证姓名与密码匹配的函数
def check(user_name,user_password):
    '''
    验证姓名与密码匹配的函数
    '''
    for i in range(len(people_list)):
        if user_name == people_list[i]["name"] and user_password == people_list[i]["password"]:
            return i #姓名与密码匹配则返回该用户在系统内的ID值，否则返回None值

#定义用户成功登录后的操作界面
def interface():
    print('=' * 12, '用户操作界面', '=' * 12)
    print('{:1} {:13} {:15}'.format(' ', '1.查询', '2.存款'))
    print('{:1} {:13} {:15}'.format(' ', '3.取款', '4.退出系统'))
    print('=' * 40)

#定义用户查询信息的函数
def inquire(user_id):
    '''
    用户查询信息的函数
    '''
    print("="*14,"用户信息界面","="*14,"\n")
    print("|{0:<8}|{1:<18}|{2:<9}|".format("name","password","money"))
    print("|{0:<8}|{1:<18}|{2:<9}|".format(people_list[user_id]["name"],people_list[user_id]["password"],people_list[user_id]["money"]))

#查询功能
def chaxun(user_id):
    print('='*14,'余额查询界面','='*14)
    print('|{0:<10}|{1:<18}|{2:<9}|'.format('name','password','money'))
    print('|{0:<10}|{1:<18}|{2:<9}|'.format(people_list[user_id]['name'],people_list[user_id]['password'],people_list[user_id]['money']))

#存钱功能
def add_money(money):
    people_list[user_id]['money']+=int(money)

#取钱功能
def del_money(money):
    mount = people_list[user_id]["money"] - int(money)
    if mount >= 0:
        people_list[user_id]["money"] -= int(money)
    else:
        print("账户余额不足")

#退出系统
def loginOut():
    pass
#界面与交互
while True:
    #输出一个初始界面
    print('='*12,'自动取款机','='*12)
    #print('请输入你的名字')
    user_name=input('请输入你的名字')
    user_password=input('请输入你的密码')
    user_id=check(user_name,user_password)
    while True:
        if user_id != None:
            interface()
            key=input('请输入你的操作选项')
            if key == '1':
                chaxun(user_id)
                input('输入任意键继续：')
            elif key == '2':
                money=input("请输入存款金额")
                add_money(money)
                inquire(user_id)
                input('输入任意键继续：')
            elif key == '3':
                money=input("请输入取款金额")
                del_money(money)
                inquire(user_id)
                input('输入任意键继续：')
            elif key == '4':
                loginOut()
                print('='*12,'再见','='*12)
                break
            else:
                print('='*12,'操作无效','='*12)
        else:
            print("不存在该用户")
            loginOut()
            break
    break
